﻿// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. 
// See License.txt in the project root for license information.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace System.Threading.Actors.Utilities
{
    public interface IActorInteractor : IDisposable
    {
        bool CreateActor(string actorName, string creationString, int numPartitions);
        void DeleteActor(string actorName);
        IActorProxy GetActorProxy(string actorName, IActorState sourceState, string targetPartitionName, string myPartitionName);
        Task<IActorProxy> GetActorProxyAsync(string actorName, IActorState sourceState, string targetPartitionName, string myPartitionName);
    }
}
